package exception;


/**
 * 年龄不合法异常
 *
 * 自定义异常
 * 通常用来表示哪些不满足业务场景的错误
 *
 * 自定义异常应当满足以下操作:
 * 1:类名做到见名知义
 * 2:继承自Exception(直接或间接继承)
 * 3:添加所有超类提供的构造器
 */
/*
模拟“继承”构造方法
Java 不支持构造方法的继承，但你可以通过以下方式达到“继承”效果：

手动定义与父类相同的构造方法签名
使用 super(...) 调用父类构造方法
将参数传递过去

这样做的好处是：
保持 API 一致性（和 Exception 的构造方法一致）
提供灵活的异常创建方式（支持消息、原因、链式异常等）
*/

public class IllegalAgeException extends Exception{
    public IllegalAgeException() {     //默认调用父类无参构造方法 super()
    }

    public IllegalAgeException(String message) {
        super(message);
    }

    public IllegalAgeException(String message, Throwable cause) {
        super(message, cause);
    }

    public IllegalAgeException(Throwable cause) {
        super(cause);
    }

    public IllegalAgeException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
        super(message, cause, enableSuppression, writableStackTrace);
    }
}
